
#ifndef __LIBERTY_LIBRARY_ASSETIMPORTERSERIALIZABLEFACTORY_H__
#define __LIBERTY_LIBRARY_ASSETIMPORTERSERIALIZABLEFACTORY_H__

#include <Liberty3D/Liberty3D.h>
#include <Liberty3D/Engine/ISerializableFactory.h>

namespace Liberty { namespace Library {
    class AssetImporterSerializableFactory : public Liberty::Engine::ISerializableFactory {
    public:
        std::shared_ptr<AssetImporter> _importer;
        std::shared_ptr<IAssetContext> _context;

    public:
        AssetImporterSerializableFactory(const std::shared_ptr<AssetImporter>& importer, const std::shared_ptr<IAssetContext>& context);

    public:
        virtual std::shared_ptr<Liberty::Engine::ISerializable> create(const char* name);
    };
}}

#endif
